home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / programming / c / genmo112.lha / GTB-Modula / Interfaces / GadToolsBox.def < prev    next >
Encoding:
Modula Definition  |  1993-09-28  |  15.8 KB  |  619 lines

  1. DEFINITION MODULE GadToolsBox {"gadtoolsbox.library", 39};
  2.  
  3. (*
  4.  * -------------------------------------------------------------------------
  5.  *
  6.  *    :Program.    GadToolsBox.def
  7.  *    :Contents.    Interface to GadToolsBox.library 39.3 by Jaan van den Baard
  8.  *
  9.  *    :Author.    Reiner B. Nix
  10.  *    :Address.    Geranienhof 2, 50769 Köln Seeberg
  11.  *    :Address.    rbnix@pool.informatik.rwth-aachen.de
  12.  *    :Copyright.    free
  13.  *    :Language.    Modula-2
  14.  *    :Translator.    M2Amiga A-L V4.2d
  15.  *    :History.    this interface descends from the original C-Interface  and 
  16.  *    :History.     the Oberon Interface by Kai Bolay
  17.  *    :History.    GadToolsBox.def 1.0   ;M2Amiga 4.0d
  18.  *    :History.    GadToolsBox.def 1.1   ;M2Amiga 4.2d
  19.  *
  20.  * -------------------------------------------------------------------------
  21.  *)
  22.  
  23. FROM    SYSTEM        IMPORT    ADDRESS, BITSET, LONGSET, BYTE,
  24.                 CAST;
  25. FROM    ExecD        IMPORT    Library,
  26.                 MsgPortPtr,
  27.                 LibraryPtr, DevicePtr;
  28. FROM    GraphicsD    IMPORT    TextAttr,
  29.                 RastPortPtr, GfxBasePtr;
  30. FROM    IntuitionD    IMPORT    IDCMPFlagSet, WindowFlagSet,
  31.                 IntuiText, ColorSpec,
  32.                 IntuiTextPtr, GadgetPtr, IClassPtr,
  33.                 IntuiMessagePtr, DrawInfoPtr,
  34.                 WindowPtr, RequesterPtr,
  35.                 IntuitionBasePtr;
  36. FROM    DosD        IMPORT    DosLibraryPtr;
  37. FROM    UtilityD    IMPORT    tagUser,
  38.                 Tag,
  39.                 TagItemPtr;
  40. FROM    GadToolsD    IMPORT    NewMenu, NewGadget,
  41.                 NewGadgetPtr;
  42. FROM    NoFrag        IMPORT    MemoryChainPtr;
  43. IMPORT    R;
  44.  
  45.  
  46. (* gadtoolsbox/forms.h *)
  47. CONST    idGXMN        =CAST (LONGINT, "GXMN");    (* FORM identifiers        *)
  48.     idGXTX        =CAST (LONGINT, "GXTX");
  49.     idGXBX        =CAST (LONGINT, "GXBX");
  50.     idGXGA        =CAST (LONGINT, "GXGA");
  51.     idGXWD        =CAST (LONGINT, "GXWD");
  52.     idGXUI        =CAST (LONGINT, "GXUI");
  53.  
  54.     idMEDA        =CAST (LONGINT, "MEDA");    (* chunk identifiers        *)
  55.     idITXT        =CAST (LONGINT, "ITXT");
  56.     idBBOX        =CAST (LONGINT, "BBOX");
  57.     idGADA        =CAST (LONGINT, "GADA");
  58.     idWDDA        =CAST (LONGINT, "WDDA");
  59.     idGGUI        =CAST (LONGINT, "GGUI");
  60.  
  61.     idVERS        =CAST (LONGINT, "VERS");
  62.  
  63.  
  64. TYPE    VersionPtr    =POINTER TO Version;        (* Version (ID_VERS) chunk...    *)
  65.  
  66.     Version        =RECORD    version        :CARDINAL;
  67.                 flags        :BITSET;
  68.                 reserved    :ARRAY [1..4] OF LONGCARD;
  69.                 END;
  70.  
  71.  
  72. CONST    maxMenuTitle    =80;                (* NewMenu (ID_MEDA) chunk...    *)
  73.     maxMenuLabel    =34;
  74.     maxShortcut    =2;
  75.  
  76.     MenuVersion    =0;
  77.  
  78.  
  79. TYPE    MenuDataPtr    =POINTER TO MenuData;
  80.  
  81.     MenuData    =RECORD    newMenu        :NewMenu;
  82.                 title        :ARRAY [0..maxMenuTitle-1] OF CHAR;
  83.                 label        :ARRAY [0..maxMenuLabel-1] OF CHAR;
  84.                 shortCut    :ARRAY [0..maxShortcut-1] OF CHAR;
  85.                 flags        :BITSET
  86.                 END;
  87.  
  88.  
  89. CONST    maxTextLength    =80;                (* IntuiText (ID_ITXT) chunk...    *)
  90.     ITextVersion    =0;
  91.  
  92.  
  93. TYPE    ITextDataPtr    =POINTER TO ITextData;
  94.  
  95.     ITextData    =RECORD    iText        :IntuiText;
  96.                 text        :ARRAY [0..maxTextLength-1] OF CHAR
  97.                 END;
  98.  
  99.  
  100. CONST    BBoxVersion    =0;                (* BevelBox (ID_BBOX) chunk...    *)
  101.  
  102.  
  103. TYPE    BBoxFlags    =(recessed, dropBox,
  104.               bbf2, bbf3, bbf4, bbf5, bbf6, bbf7, bbf8,
  105.               bbf9, bbf10, bbf11, bbf12, bbf13, bbf14, bbf15);
  106.  
  107.     BBoxFlagSet    =SET OF BBoxFlags;
  108.  
  109.  
  110.     BBoxDataPtr    =POINTER TO BBoxData;
  111.  
  112.     BBoxData    =RECORD    left,
  113.                 top        :INTEGER;
  114.                 width,
  115.                 height        :CARDINAL;
  116.                 flags        :BBoxFlagSet
  117.                 END;
  118.  
  119.  
  120. CONST    maxGadgetText    =80;                (* NewGadget (ID_GADA) chunk...    *)
  121.     maxGadgetLabel    =34;
  122.  
  123.     GadgetVersion    =0;
  124.  
  125.  
  126. TYPE    GadgetFlags    =(gf0, gf1, gf2, gf3, gf4, IsLocked, NeedLock, gf7, gf8,
  127.               gf9, gf10, gf11, gf12, gf13, gf14, gf15,
  128.               gf16, gf17, gf18, gf19, gf20, gf21, gf22, gf23,
  129.               gf24, gf25, gf26, gf27, gf28, gf29, gf30, gf31);
  130.  
  131.     GadgetFlagSet    =SET OF GadgetFlags;
  132.  
  133.  
  134.     GadgetDataPtr    =POINTER TO GadgetData;
  135.  
  136.     GadgetData    =RECORD    newGadget    :NewGadget;
  137.                 gadgetText    :ARRAY [0..maxGadgetText-1] OF CHAR;
  138.                 gadgetLabel    :ARRAY [0..maxGadgetLabel-1] OF CHAR;
  139.                 flags        :GadgetFlagSet;
  140.                 kind        :CARDINAL;
  141.                 numTags        :CARDINAL;
  142.                 reserved4    :ARRAY [1..4] OF LONGCARD;
  143.                 END;
  144.  
  145.  
  146. CONST    maxWindowName    =34;                (* Window (ID_WDDA) chunk...    *)
  147.     maxWindowTitle    =80;
  148.     maxWdScreenTitle=80;
  149.  
  150.     WindowVersion    =0;
  151.  
  152.  
  153. TYPE    WindowTagFlags    =(InnerWidth, InnerHeight, Zoom, MouseQueue, RptQueue,
  154.               AutoAdjust, DefaultZoom, FallBack,
  155.               wtf8, wtf9, wtf10, wtf11, wtf12, wtf13, wtf14, wtf15,
  156.               wtf16, wtf17, wtf18, wtf19, wtf20, wtf21, wtf22, wtf23,
  157.               wtf24, wtf25, wtf26, wtf27, wtf28, wtf29, wtf30, wtf31);
  158.  
  159.     WindowTagFlagSet=SET OF WindowTagFlags;
  160.  
  161.  
  162.     WindowDataPtr    =POINTER TO WindowData;
  163.  
  164.     WindowData    =RECORD    name        :ARRAY [0..maxWindowName-1] OF CHAR;
  165.                 title        :ARRAY [0..maxWindowTitle-1] OF CHAR;
  166.                 screenTitle    :ARRAY [0..maxWdScreenTitle-1] OF CHAR;
  167.                 numTags        :CARDINAL;
  168.                 idCountFrom    :CARDINAL;
  169.                 idcmpFlags    :IDCMPFlagSet;
  170.                 windowFlags    :WindowFlagSet;
  171.                 tagFlags    :WindowTagFlagSet;
  172.                 innerWidth,
  173.                 innerHeight    :CARDINAL;
  174.                 showTitle    :BOOLEAN;
  175.                 mouseQueue,
  176.                 rptQueue    :CARDINAL;
  177.                 flags        :BITSET;
  178.                 leftBorder,
  179.                 topBorder    :CARDINAL;
  180.                 reserved    :ARRAY [1..10] OF BYTE
  181.                 END;
  182.  
  183.  
  184. CONST    maxScreenTitle    =80;                (* GUI (ID_GGUI) chunk...    *)
  185.     maxFontName    =128;
  186.     maxColorSpec    =33;
  187.     maxDriPens    =10;
  188.     maxMoreDriPens    =10;
  189.  
  190.     GuiVersion    =0;
  191.  
  192.  
  193. TYPE    GuiFlags    =(AutoScroll, Workbench, Public, Custom,
  194.               guif4, guif5, guif6, guif7, guif8,
  195.               guif9, guif10, guif11, guif12, guif13, guif14, guif15,
  196.               guif16, guif17, guif18, guif19, guif20, guif21, guif22, guif23,
  197.               guif24, guif25, guif26, guif27, guif28, guif29, guif30, guif31);
  198.  
  199.     GuiFlagSet    =SET OF GuiFlags;
  200.  
  201.  
  202.     GuiDataPtr    =POINTER TO GuiData;
  203.  
  204.     GuiData        =RECORD    flags0        :GuiFlagSet;
  205.                 screenTitle    :ARRAY [0..maxScreenTitle-1] OF CHAR;
  206.                 left,
  207.                 top,
  208.                 width,
  209.                 height        :CARDINAL;
  210.                 depth        :CARDINAL;
  211.                 displayID    :LONGSET;
  212.                 overscan    :CARDINAL;
  213.                 driPens        :ARRAY [0..maxDriPens-1] OF CARDINAL;
  214.                 colors        :ARRAY [0..maxColorSpec-1] OF ColorSpec;
  215.                 fontName    :ARRAY [0..maxFontName-1] OF CHAR;
  216.                 font        :TextAttr;
  217.                 moreDriPens    :ARRAY [0..maxMoreDriPens-1] OF CARDINAL;
  218.                 reserved    :ARRAY [1..5] OF LONGCARD;
  219.  
  220.                 flags1        :LONGSET;    (* private fields     *)
  221.                 stdScreenWidth,
  222.                 stdScreenHeight    :CARDINAL;
  223.                 activeKind    :CARDINAL;
  224.                 lastProject    :CARDINAL;
  225.                 gridX,
  226.                 gridY        :CARDINAL;
  227.                 offX,
  228.                 offY        :CARDINAL;
  229.                 reserved1    :ARRAY [1..7] OF CARDINAL
  230.                 END;
  231.  
  232.  
  233. (* gadtoolsbox/prefs.h *)
  234. CONST    GTBConfigSave    ="ENVARC:GadToolsBox/GadToolsBox.prefs";
  235.     GTBConfigUse    ="ENV:GadToolsBox/GadToolsBox.prefs";
  236.  
  237.     GTBConfigVersion=0;
  238.     maxUserName    =64;
  239.     maxIconPath    =128;
  240.  
  241.     idGTCO        =CAST (LONGINT, "GTCO");
  242.  
  243.  
  244. TYPE    GTConfigFlags    =(Coordinates, WriteIcon, GZZAdjust, Crunch, CloseWBench,
  245.               Password, Overwrite, ASLFReq, FontAdapt, UsePubScreen,
  246.               gtcf10, gtcf11, gtcf12, gtcf13, gtcf14, gtcf15,
  247.               gtcf16, gtcf17, gtcf18, gtcf19, gtcf20, gtcf21, gtcf22, gtcf23,
  248.               gtcf24, gtcf25, gtcf26, gtcf27, gtcf28, gtcf29, gtcf30, gtcf31);
  249.  
  250.     GTConfigFlagSet    =SET OF GTConfigFlags;
  251.  
  252.  
  253.     GadToolsConfigPtr=POINTER TO GadToolsConfig;
  254.  
  255.     GadToolsConfig    =RECORD    configFlags0    :GTConfigFlagSet;
  256.                 configFlags1    :LONGSET;
  257.                 crunchBuffer    :CARDINAL;
  258.                 crunchType    :CARDINAL;
  259.                 userName    :ARRAY [0..maxUserName-1] OF CHAR;
  260.                 iconPath    :ARRAY [0..maxIconPath-1] OF CHAR;
  261.                 reserved    :ARRAY [1..4] OF LONGCARD
  262.                 END;
  263.  
  264.  
  265. (* GadToolsBox library generation prefs file format             *)
  266. (* NOTE: This is not yet supported by GadToolsBox and the library!     *)
  267.  
  268. CONST    GTBLibGenSave    ="ENVARC:GadToolsBox/LibGen.prefs";
  269.     GTBLinGenUse    ="ENV:GadToolsBox/LibGen.prefs";
  270.  
  271.     GTBLibGenVersion=0;
  272.     maxLibName    =32;
  273.     maxBaseName    =32;
  274.  
  275.     idLIBG        =CAST (LONGINT, "LIBG");
  276.  
  277.  
  278. TYPE    LibraryGenFlags    =(Generate, Module, FailReq, DiskLib, Internal,
  279.               lgf5, lgf6, lgf7,
  280.               lgf8, lgf9, lgf10, lgf11, lgf12, lgf13, lgf14, lgf15);
  281.  
  282.     LibraryGenFlagSet=SET OF LibraryGenFlags;
  283.  
  284.  
  285.     LibraryGenPtr    =POINTER TO LibraryGen;
  286.  
  287.     LibraryGen    =RECORD    libraryName    :ARRAY [0..maxLibName] OF CHAR;
  288.                 libraryBase    :ARRAY [0..maxBaseName] OF CHAR;
  289.                 flags        :LibraryGenFlagSet;
  290.                 minVersion    :INTEGER;
  291.                 reserved    :ARRAY [1..4] OF LONGCARD
  292.                 END;
  293.  
  294.  
  295. CONST    GTBGenSaveC    ="ENVARC:GadToolsBox/GenC.prefs";
  296.     GTBGenUseC    ="ENV:GadToolsBox/GenC.prefs";
  297.  
  298.     GTBGenCVersion    =0;
  299.  
  300.     idGENC        =CAST (LONGINT, "GENC");
  301.  
  302.  
  303. TYPE    GenCFlags    =(gcStatic, gcGenOpenFont, gcSysFont, gcPragmas,
  304.               gcAtztec, gcGenHandler, gcTemplates, gcf7,
  305.               gcf8, gcf9, gcf10, gcf11, gcf12, gcf13, gcf14, gcf15,
  306.               gcf16, gcf17, gcf18, gcf19, gcf20, gcf21, gcf22, gcf23,
  307.               gcf24, gcf25, gcf26, gcf27, gcf28, gcf29, gcf30, gcf31);
  308.  
  309.     GenCFlagSet    =SET OF GenCFlags;
  310.  
  311.  
  312.     GenCPtr        =POINTER TO GenC;
  313.  
  314.     GenC        =RECORD    gtConfig    :GadToolsConfig;
  315.                 genCFlags0    :GenCFlagSet;
  316.                 getCFlags1    :LONGSET;
  317.                 reserved    :ARRAY [1..4] OF LONGCARD
  318.                 END;
  319.  
  320.  
  321. CONST    GTBGenAsmSave    ="ENVARC:GadToolsBox/GenAsm.prefs";
  322.     GTBGenAsmUse    ="ENV:GadToolsBox/GenAsm.prefs";
  323.  
  324.     GTBGenAsmVersion=0;
  325.  
  326.     idGENA        =CAST (LONGINT, "GENA");
  327.  
  328.  
  329. TYPE    GenAsmFlags    =(gaStatic, gaRaw, gaGenOpenFont, gaSysFont,
  330.               gaAmigaLib, gaf5, gaf6, gaf7,
  331.               gaf8, gaf9, gaf10, gaf11, gaf12, gaf13, gaf14,
  332.               gaf15, gaf16, gaf17, gaf18, gaf19, gaf20, gaf21, gaf22, gaf23,
  333.               gaf24, gaf25, gaf26, gaf27, gaf28, gaf29, gaf30, gaf31);
  334.  
  335.     GenAsmFlagSet    =SET OF GenAsmFlags;
  336.  
  337.  
  338.     GenAsmPtr    =POINTER TO GenAsm;
  339.  
  340.     GenAsm        =RECORD    gtConfig    :GadToolsConfig;
  341.                 genAsmFlags0    :GenAsmFlags;
  342.                 genAsmFlags1    :LONGSET;
  343.                 reserved    :ARRAY [1..4] OF LONGCARD
  344.                 END;
  345.  
  346.  
  347.  
  348. (* gadtoolsbox/gui.h *)
  349. TYPE    ExtNewGadgetPtr    =POINTER TO ExtNewGadget;
  350.     ExtGadgetListPtr=POINTER TO ExtGadgetList;
  351.  
  352.     ExtGadgetList    =RECORD    head,
  353.                 tailPred,
  354.                 tail        :ExtNewGadgetPtr
  355.                 END;
  356.  
  357.     ExtNewGadget    =RECORD    succ,
  358.                 prev        :ExtNewGadgetPtr;
  359.                 tags        :TagItemPtr;
  360.                 reserved0    :ARRAY [1..4] OF BYTE;
  361.                 newGadget    :NewGadget;
  362.                 gadgetLabel    :ARRAY [0..maxGadgetLabel-1] OF CHAR;
  363.                 gadgetText    :ARRAY [0..maxGadgetText-1] OF CHAR;
  364.                 flags        :GadgetFlagSet;
  365.                 kind        :CARDINAL;
  366.                 reserved1    :ARRAY [1..4] OF LONGCARD
  367.                 END;
  368.  
  369.  
  370. TYPE    ExtNewMenuPtr    =POINTER TO ExtNewMenu;
  371.     ExtMenuListPtr    =POINTER TO ExtMenuList;
  372.  
  373.     ExtMenuList    =RECORD    head,
  374.                 tailPred,
  375.                 tail        :ExtNewMenuPtr
  376.                 END;
  377.  
  378.     ExtNewMenu    =RECORD    succ,
  379.                 prev        :ExtNewMenuPtr;
  380.                 reserved0    :ARRAY [1..6] OF BYTE;
  381.                 newMenu        :NewMenu;
  382.                 menuTitle    :ARRAY [0..maxMenuTitle-1] OF CHAR;
  383.                 menuLabel    :ARRAY [0..maxMenuLabel-1] OF CHAR;
  384.                 reserved1    :ARRAY [1..4] OF BYTE;
  385.                 items        :ExtMenuListPtr;
  386.                 reserved2    :ARRAY [1..2] OF BYTE;
  387.                 commKey        :ARRAY [0..maxShortcut-1] OF CHAR;
  388.                 reserved3    :ARRAY [1..2] OF BYTE
  389.                 END;
  390.  
  391.  
  392. TYPE    BevelBoxPtr    =POINTER TO BevelBox;
  393.     BevelListPtr    =POINTER TO BevelList;
  394.  
  395.     BevelList    =RECORD    head,
  396.                 tailPred,
  397.                 tail        :BevelBoxPtr
  398.                 END;
  399.  
  400.     BevelBox    =RECORD    succ,
  401.                 prev        :BevelBoxPtr;
  402.                 reserved0    :ARRAY [1..4] OF BYTE;
  403.                 left,
  404.                 top        :CARDINAL;
  405.                 width,
  406.                 height        :INTEGER;
  407.                 reserved1    :ARRAY [1..32] OF BYTE;
  408.                 flags        :BBoxFlagSet
  409.                 END;
  410.  
  411.  
  412. TYPE    ProjectWindowPtr=POINTER TO ProjectWindow;
  413.     WindowListPtr    =POINTER TO WindowList;
  414.  
  415.     WindowList    =RECORD    head,
  416.                 tailPred,
  417.                 tail        :ProjectWindowPtr
  418.                 END;
  419.  
  420.     ProjectWindow    =RECORD    succ,
  421.                 prev        :ProjectWindowPtr;
  422.                 reserved0    :ARRAY[1..6] OF BYTE;
  423.                 name        :ARRAY [0..maxWindowName-1] OF CHAR;
  424.                 countIDFrom    :CARDINAL;
  425.                 tags        :TagItemPtr;
  426.                 leftBorder,
  427.                 topBorder    :CARDINAL;
  428.                 windowTitle    :ARRAY [0..maxWindowTitle-1] OF CHAR;
  429.                 screenTitle    :ARRAY [0..maxWdScreenTitle-1] OF CHAR;
  430.                 reserved2    :ARRAY [1..192] OF BYTE;
  431.                 idcmpFlags    :IDCMPFlagSet;
  432.                 windowFlags    :WindowFlagSet;
  433.                 windowText    :IntuiTextPtr;
  434.                 gadgets        :ExtGadgetList;
  435.                 menus        :ExtMenuList;
  436.                 boxes        :BevelList;
  437.                 tagFlags    :WindowTagFlagSet;
  438.                 innerWidth,
  439.                 innerHeight    :INTEGER;
  440.                 showTitle    :BOOLEAN;
  441.                 reserved3    :ARRAY [1..6] OF BYTE;
  442.                 mouseQueue,
  443.                 rptQueue    :CARDINAL;
  444.                 flags        :BITSET
  445.                 END;
  446.  
  447.  
  448. CONST    rgTagBase    =tagUser + 512;
  449.  
  450. TYPE    rgTags        =(rgGUI := rgTagBase + 1,    (* GuiDataPtr                *)
  451.               rgConfig,            (* GadToolsConfigPtr            *)
  452.               rgCConfig,
  453.               rgAsmConfig,
  454.               rgLibGen,            (* not supported yet.            *)
  455.               rgWindowList,            (* WindowListPtr            *)
  456.               rgValid,            (* vlfFlagSetPtr  *** POINTER ***    *)
  457.               rgPasswordEntry);        (* see Powerpacker-Library!!!        *)
  458.  
  459.  
  460.     vlfFlags    =(vlfGUI, vlfConfig, vlfCConfig, vlfAsmConfig,
  461.               vlfLibGen, vlfWindowList);
  462.  
  463.     vlfFlagSet    =SET OF vlfFlags;
  464.  
  465.  
  466.     gtbErrors    =(gtbErrorNone,
  467.               gtbErrorNoMem, gtbErrorOpen, gtbErrorRead,
  468.               gtbErrorWrite, gtbErrorParse, gtbErrorPacker,
  469.               gtbErrorPPLib, gtbErrorNotGuiFile);
  470.  
  471. (* gadtoolsbox/hotkey *)
  472. TYPE    HotKeyHandle    =ADDRESS;
  473.  
  474.     RepeatFlags    =(srbMX, srbCycle, srbSlider, srbScroller,
  475.               srbListView, srbPalette);
  476.  
  477.     RepeatFlagSet    =SET OF RepeatFlags;
  478.  
  479.  
  480. CONST    hkhTagBase    =tagUser + 256;
  481.  
  482. TYPE    hkhTags        =(hkhKeyMap := hkhTagBase + 1,    (* KeyMapPtr to use. Create & Set.    *)
  483.               hkhUseNewButton,        (* BOOLEAN if replace. Create only.    *)
  484.               hkhUseNewText,        (* BOOLEAN if replace. Create only.    *)
  485.               hkhSetRepeat);        (* RepeatFlagSet. Create & Set.        *)
  486.  
  487.  
  488.  
  489. (* gadtoolsbox/textclass.h *)
  490. CONST    txTagBase    =tagUser + 1;
  491.  
  492. TYPE    txTags        =(txTextAttr := txTagBase + 1,
  493.               txStyle,
  494.               txForceTextPen,
  495.               txUnderscore,
  496.               txFlags,
  497.               txText,
  498.               txNoBox);
  499.  
  500.  
  501. TYPE    StrPtr        =POINTER TO ARRAY [0..255] OF CHAR;
  502.  
  503.  
  504.  
  505. (* gadtoolsbox/gtxbase.h *)
  506. TYPE    GTXBasePtr    =POINTER TO GTXBase;
  507.  
  508.     GTXBase        =RECORD    library        :Library;
  509.                 dosBase        :DosLibraryPtr;
  510.                 intuitionBase    :IntuitionBasePtr;
  511.                 gfxBase        :GfxBasePtr;
  512.                 gadToolsBase    :LibraryPtr;
  513.                 utilityBase    :LibraryPtr;
  514.                 iffParseBase    :LibraryPtr;
  515.                 consoleDevice    :DevicePtr;
  516.                 noFragBase    :LibraryPtr;
  517.                 ppBase        :LibraryPtr;    (* check if it is valid!    *)
  518.                 END;
  519.  
  520.  
  521. VAR    gtxVersion    :INTEGER;
  522.     gtxBase        :GTXBasePtr;
  523.  
  524.  
  525. PROCEDURE TagInArray        (    tag {R.D0}        :Tag;
  526.                      tagList {R.A0}    :TagItemPtr) :BOOLEAN;        CODE -30;
  527.  
  528. PROCEDURE SetTagData        (    tag {R.D0}        :Tag;
  529.                      data {R.D1}    :LONGINT;
  530.                      tagList {R.A0}    :TagItemPtr) :BOOLEAN;        CODE -36;
  531.  
  532.  
  533. PROCEDURE GetNode        (    list {R.A0}    :ADDRESS;
  534.                      nodeNumber {R.D0}    :LONGCARD) :ADDRESS;        CODE -42;
  535.  
  536. PROCEDURE GetNodeNumbers    (    list {R.A0}    :ADDRESS;
  537.                      node {R.A1}    :ADDRESS) :LONGINT;        CODE -48;
  538.  
  539. PROCEDURE CountNodes        (    list {R.A0}    :ADDRESS) :LONGCARD;        CODE -54;
  540.  
  541. PROCEDURE MoveNodes        (    list {R.A0}    :ADDRESS;
  542.                      node {R.A1}    :ADDRESS;
  543.                      distance {R.D0}    :INTEGER) :BOOLEAN;        CODE -60;
  544.  
  545. PROCEDURE IFFErrToStr        (    error {R.D0}    :LONGINT;
  546.                      skipEOF {R.D1}    :BOOLEAN) :StrPtr;        CODE -66;
  547.  
  548.  
  549. PROCEDURE GetHandleA        (    tagList {R.A0}    :TagItemPtr) :HotKeyHandle;    CODE -72;
  550.  
  551. PROCEDURE FreeHandle        (    handle {R.A0}    :HotKeyHandle);            CODE -78;
  552.  
  553.  
  554. PROCEDURE RefreshWindow        (    handle {R.A0}    :HotKeyHandle;
  555.                      window {R.A1}    :WindowPtr;
  556.                      requester {R.A2}    :RequesterPtr);            CODE -84;
  557.  
  558.  
  559. PROCEDURE CreateGadgetA        (    handle {R.A0}    :HotKeyHandle;
  560.                      kind {R.D0}    :CARDINAL;
  561.                      pred {R.A1}    :GadgetPtr;
  562.                      newGadget {R.A2}    :NewGadgetPtr;
  563.                      tagList {R.A3}    :TagItemPtr) :GadgetPtr;    CODE -90;
  564.  
  565.  
  566. PROCEDURE RawToVanilla        (    handle {R.A0}    :HotKeyHandle;
  567.                      code {R.D0},
  568.                      qualifier {R.D1}    :CARDINAL) :CHAR;        CODE -96;
  569.  
  570.  
  571. PROCEDURE GetIMsg        (    handle {R.A0}    :HotKeyHandle;
  572.                      port {R.A1}    :MsgPortPtr) :IntuiMessagePtr;    CODE -102;
  573.  
  574. PROCEDURE ReplyIMsg        (    handle {R.A0}    :HotKeyHandle;
  575.                      message {R.A1}    :IntuiMessagePtr);        CODE -108;
  576.  
  577.  
  578. PROCEDURE SetGadgetAttrsA    (    handle {R.A0}    :HotKeyHandle;
  579.                      gadget {R.A1}    :GadgetPtr;
  580.                      tagList {R.A2}    :TagItemPtr);            CODE -114;
  581.  
  582. PROCEDURE DetachLabels        (    handle {R.A0}    :HotKeyHandle;
  583.                      gadget {R.A1}    :GadgetPtr);            CODE -120;
  584.  
  585. PROCEDURE DrawBox        (    rport {R.A0}    :RastPortPtr;
  586.                      left {R.D0},
  587.                      top {R.D1},
  588.                      width {R.D2},
  589.                      height {R.D3}    :LONGCARD;
  590.                      dri {R.A2}        :DrawInfoPtr;
  591.                      state {R.D4}    :LONGCARD);            CODE -126;
  592.  
  593.  
  594. PROCEDURE InitTextClass        () :IClassPtr;                        CODE -132;
  595.  
  596. PROCEDURE InitGetFileClass    () :IClassPtr;                        CODE -138;
  597.  
  598.  
  599. PROCEDURE SetHandleAttrsA    (    handle {R.A0}    :HotKeyHandle;
  600.                      tagList {R.A1}    :TagItemPtr);            CODE -144;
  601.  
  602.  
  603. PROCEDURE BeginRefresh        (    handle {R.A0}    :HotKeyHandle);            CODE -150;
  604.  
  605. PROCEDURE EndRefresh        (    handle {R.A0}    :HotKeyHandle;
  606.                      all {R.D0}        :BOOLEAN);            CODE -156;
  607.  
  608.  
  609. PROCEDURE FreeWindows        (    chain {R.A0}    :MemoryChainPtr;
  610.                      windows {R.A1}    :WindowListPtr);        CODE -228;
  611.  
  612.  
  613. PROCEDURE LoadGuiA        (    chain {R.A0}    :MemoryChainPtr;
  614.                      name {R.A1}    :ADDRESS;
  615.                      tagList {R.A2}    :TagItemPtr) :gtbErrors;    CODE -234;
  616.  
  617.  
  618. END GadToolsBox.
  619.